<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: custloc_desc_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structcustloc__desc__t-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">custloc_desc_t Struct Reference<div class="ingroups"><a class="el" href="group___c_m__.html">CM</a> &raquo; <a class="el" href="group__argloc.html">Argument locations</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Description of a custom argloc. </p>
<p>Custom arglocs can be added by plugins in order to describe the locations unsupported by the ida kernel. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a998e4dcd62ed83b0e0d4c14ca8ae4999"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a998e4dcd62ed83b0e0d4c14ca8ae4999"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a998e4dcd62ed83b0e0d4c14ca8ae4999">cbsize</a></td></tr>
<tr class="memdesc:a998e4dcd62ed83b0e0d4c14ca8ae4999"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of this structure <br /></td></tr>
<tr class="separator:a998e4dcd62ed83b0e0d4c14ca8ae4999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0decac039f85fd9e9818df240e3bbf63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0decac039f85fd9e9818df240e3bbf63"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a0decac039f85fd9e9818df240e3bbf63">name</a></td></tr>
<tr class="memdesc:a0decac039f85fd9e9818df240e3bbf63"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of the custom argloc type. must be unique <br /></td></tr>
<tr class="separator:a0decac039f85fd9e9818df240e3bbf63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4db290d3526856eb0bf3abec891bc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad4db290d3526856eb0bf3abec891bc3"></a>
void(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#aad4db290d3526856eb0bf3abec891bc3">copy</a> )(<a class="el" href="classargloc__t.html">argloc_t</a> *empty_dst, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;src)</td></tr>
<tr class="memdesc:aad4db290d3526856eb0bf3abec891bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy src into empty_dst. <br /></td></tr>
<tr class="separator:aad4db290d3526856eb0bf3abec891bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e554e753432f8c52feaa501edbe56e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25e554e753432f8c52feaa501edbe56e"></a>
void(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a25e554e753432f8c52feaa501edbe56e">cleanup</a> )(<a class="el" href="classargloc__t.html">argloc_t</a> *loc)</td></tr>
<tr class="memdesc:a25e554e753432f8c52feaa501edbe56e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear contents of loc before it is modified (may be NULL) <br /></td></tr>
<tr class="separator:a25e554e753432f8c52feaa501edbe56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a948dc8427cc7e8e0547b9746a5820eb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a948dc8427cc7e8e0547b9746a5820eb1"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a948dc8427cc7e8e0547b9746a5820eb1">verify</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, int size, const rangeset_t *gaps, bool part_of_scattered)</td></tr>
<tr class="memdesc:a948dc8427cc7e8e0547b9746a5820eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">May be NULL. <br /></td></tr>
<tr class="separator:a948dc8427cc7e8e0547b9746a5820eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d4d56a7a0354d85e73a1e06147b845"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77d4d56a7a0354d85e73a1e06147b845"></a>
int(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a77d4d56a7a0354d85e73a1e06147b845">compare</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;a, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;b)</td></tr>
<tr class="memdesc:a77d4d56a7a0354d85e73a1e06147b845"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lexical comparison of two arglocs. <br /></td></tr>
<tr class="separator:a77d4d56a7a0354d85e73a1e06147b845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba9d448db2185d8385ec884d124a5c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ba9d448db2185d8385ec884d124a5c5"></a>
size_t(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a6ba9d448db2185d8385ec884d124a5c5">print</a> )(char *buf, size_t bufsize, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> size, int praloc_flags)</td></tr>
<tr class="memdesc:a6ba9d448db2185d8385ec884d124a5c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get textual description of the location (not the value at the location!) <br /></td></tr>
<tr class="separator:a6ba9d448db2185d8385ec884d124a5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b1c873d4cc8f5bc1811f610e9b0b370"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b1c873d4cc8f5bc1811f610e9b0b370"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a5b1c873d4cc8f5bc1811f610e9b0b370">deref_field</a> )(<a class="el" href="classargloc__t.html">argloc_t</a> *out, <a class="el" href="classtinfo__t.html">tinfo_t</a> *tif, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;strloc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;struct_tif, <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> off, const <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> &amp;<a class="el" href="structcustloc__desc__t.html#a0decac039f85fd9e9818df240e3bbf63">name</a>)</td></tr>
<tr class="memdesc:a5b1c873d4cc8f5bc1811f610e9b0b370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the struct/union pointed by 'strloc': take member at offset 'off' (or use the field name), improve member 'tif' if necessary. <br /></td></tr>
<tr class="separator:a5b1c873d4cc8f5bc1811f610e9b0b370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d97a2ac0a2f2927bd50d098c37fe4d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d97a2ac0a2f2927bd50d098c37fe4d5"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a9d97a2ac0a2f2927bd50d098c37fe4d5">deref_array</a> )(<a class="el" href="classargloc__t.html">argloc_t</a> *out, <a class="el" href="classtinfo__t.html">tinfo_t</a> *tif, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;arrloc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;array_tif, <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> n, <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> elsize)</td></tr>
<tr class="memdesc:a9d97a2ac0a2f2927bd50d098c37fe4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the array pointed by 'arrloc': take member number 'n' (element size is 'elsize'), improve member 'tif' if necessary. <br /></td></tr>
<tr class="separator:a9d97a2ac0a2f2927bd50d098c37fe4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad27c0af9cd6772369b2f75f143ffe872"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad27c0af9cd6772369b2f75f143ffe872"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#ad27c0af9cd6772369b2f75f143ffe872">deref_ptr</a> )(<a class="el" href="classargloc__t.html">argloc_t</a> *out, <a class="el" href="classtinfo__t.html">tinfo_t</a> *tif, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;ptrloc)</td></tr>
<tr class="memdesc:ad27c0af9cd6772369b2f75f143ffe872"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference the pointer at 'loc': retrieve location of the pointed object, improve 'tif' of the pointed object if necessary. <br /></td></tr>
<tr class="separator:ad27c0af9cd6772369b2f75f143ffe872"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6343b4d3f4ec795ec24ccb54c6e2688b"><td class="memItemLeft" align="right" valign="top">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a6343b4d3f4ec795ec24ccb54c6e2688b">read_value</a> )(<a class="el" href="unionvalue__u.html">value_u</a> *value, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, int size, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td></tr>
<tr class="memdesc:a6343b4d3f4ec795ec24ccb54c6e2688b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the pointer at 'loc': retrieve value of a simple object.  <a href="#a6343b4d3f4ec795ec24ccb54c6e2688b">More...</a><br /></td></tr>
<tr class="separator:a6343b4d3f4ec795ec24ccb54c6e2688b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe6d2963262059191821e461135240f"><td class="memItemLeft" align="right" valign="top">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a1fe6d2963262059191821e461135240f">write_value</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classidc__value__t.html">idc_value_t</a> &amp;idcv, const <a class="el" href="unionvalue__u.html">value_u</a> &amp;scalar_value, int size, <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *errbuf)</td></tr>
<tr class="memdesc:a1fe6d2963262059191821e461135240f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update value at 'loc'.  <a href="#a1fe6d2963262059191821e461135240f">More...</a><br /></td></tr>
<tr class="separator:a1fe6d2963262059191821e461135240f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaec17be0e1c8af1657f597bc665d2d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaec17be0e1c8af1657f597bc665d2d5"></a>
<a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a>(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#aeaec17be0e1c8af1657f597bc665d2d5">calc_string_length</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;string_tif)</td></tr>
<tr class="memdesc:aeaec17be0e1c8af1657f597bc665d2d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calc max natural string length at 'loc' in the debugged process memory. <br /></td></tr>
<tr class="separator:aeaec17be0e1c8af1657f597bc665d2d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1afef611ab8e84702cc940958c410065"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1afef611ab8e84702cc940958c410065"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a1afef611ab8e84702cc940958c410065">get_string</a> )(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *out, <a class="el" href="classtinfo__t.html">tinfo_t</a> *elem_tif, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;string_tif, size_t len)</td></tr>
<tr class="memdesc:a1afef611ab8e84702cc940958c410065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve string at 'loc' from the debugged process memory, returns quoted string value. <br /></td></tr>
<tr class="separator:a1afef611ab8e84702cc940958c410065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af847ba6c8b140e313420a545bc127b0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af847ba6c8b140e313420a545bc127b0b"></a>
<a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a>(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#af847ba6c8b140e313420a545bc127b0b">guess_array_size</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;array_tif)</td></tr>
<tr class="memdesc:af847ba6c8b140e313420a545bc127b0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve size of array at 'loc' (number of elements) <br /></td></tr>
<tr class="separator:af847ba6c8b140e313420a545bc127b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a709ce4065ecb49c0a2bf5b9a7a9250b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a709ce4065ecb49c0a2bf5b9a7a9250b3"></a>
bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a709ce4065ecb49c0a2bf5b9a7a9250b3">get_tinfo</a> )(<a class="el" href="classtinfo__t.html">tinfo_t</a> *out, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc)</td></tr>
<tr class="memdesc:a709ce4065ecb49c0a2bf5b9a7a9250b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve type of the object at 'loc'. <br /></td></tr>
<tr class="separator:a709ce4065ecb49c0a2bf5b9a7a9250b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4769d333db392ff2625dabf6e459bc8f"><td class="memItemLeft" align="right" valign="top">int(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#a4769d333db392ff2625dabf6e459bc8f">calc_number_of_children</a> )(const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td></tr>
<tr class="memdesc:a4769d333db392ff2625dabf6e459bc8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the number of children for the given location.  <a href="#a4769d333db392ff2625dabf6e459bc8f">More...</a><br /></td></tr>
<tr class="separator:a4769d333db392ff2625dabf6e459bc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af17c312fc639e32ffde59442d1ad3c8a"><td class="memItemLeft" align="right" valign="top">size_t(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcustloc__desc__t.html#af17c312fc639e32ffde59442d1ad3c8a">print_ptr_value</a> )(char *buf, size_t bufsize, bool *is_valid_ptr, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td></tr>
<tr class="memdesc:af17c312fc639e32ffde59442d1ad3c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get string containing a printable representation of the pointer at 'loc'.  <a href="#af17c312fc639e32ffde59442d1ad3c8a">More...</a><br /></td></tr>
<tr class="separator:af17c312fc639e32ffde59442d1ad3c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6343b4d3f4ec795ec24ccb54c6e2688b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> * custloc_desc_t::read_value) (<a class="el" href="unionvalue__u.html">value_u</a> *value, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, int size, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read the pointer at 'loc': retrieve value of a simple object. </p>
<p>the object value must fit <a class="el" href="unionvalue__u.html" title="This structure is used to pass values of bytes to helper functions. ">value_u</a>. </p>

</div>
</div>
<a class="anchor" id="a1fe6d2963262059191821e461135240f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> * custloc_desc_t::write_value) (const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classidc__value__t.html">idc_value_t</a> &amp;idcv, const <a class="el" href="unionvalue__u.html">value_u</a> &amp;scalar_value, int size, <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *errbuf)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update value at 'loc'. </p>
<p>if idcv is VT_LONG/VT_INT64/VT_FLOAT, the value in native format is copied to 'scalar_value' for your convenience. otherwise please use 'idcv' and not 'scalar_value'. </p>

</div>
</div>
<a class="anchor" id="a4769d333db392ff2625dabf6e459bc8f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> * custloc_desc_t::calc_number_of_children) (const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculate the number of children for the given location. </p>
<p>(arrays, structs, ptrs may have children and therefore be expanded) </p>

</div>
</div>
<a class="anchor" id="af17c312fc639e32ffde59442d1ad3c8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> * custloc_desc_t::print_ptr_value) (char *buf, size_t bufsize, bool *is_valid_ptr, const <a class="el" href="classargloc__t.html">argloc_t</a> &amp;loc, const <a class="el" href="classtinfo__t.html">tinfo_t</a> &amp;tif)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get string containing a printable representation of the pointer at 'loc'. </p>
<p>Returns the number of characters printed. May be NULL. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="typeinf_8hpp.html">typeinf.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
